// 在http.js中引入axios
import axios from 'axios'; // 引入axios
//请求超时
axios.defaults.timeout = 10000;

const URL = "http://law.internal.gridsumdissector.com:36577"

const GRAPH_URL = "http://10.202.80.186:8151"

// const config = window.systemConfigs;
// const URL = config['API_IP'];
// console.log(URL)
// 请求拦截器
axios.interceptors.request.use(
    config => {
        // 每次发送请求之前判断是否存在token，如果存在，则统一在http请求的header都加上token，不用每次请求都手动添加了
        // 即使本地存在token，也有可能token是过期的，所以在响应拦截器中要对返回状态进行判断
        // const token = store.state.token;
        // token && (config.headers.Authorization = token);
        config.headers['X-SSO-FullticketId'] = "TGT-1087-2CFINkHKDbBGMKeJCFMT54O5w6IzUTiuJj0zHFsdpzAo1idi4I-x-sso"   
        config.headers['tenant_code'] = "d840ef7567774710bad993ae4eef0f60"
        if(config.url.includes(GRAPH_URL)){
            config.headers['token'] = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1c2VyIiwidXNlcl9pZCI6MzQxOSwibmFtZSI6InVzZXIiLCJzc29fdGlja2V0IjoiVEdULTEwNjMtZlhub3FkZGNtYzYyMXRFM2lTY3B4UVRXdFpHQU5BSTRXYzByNTlnTW9RYnZmQlhVWHAteC1zc28iLCJlbWFpbCI6InVzZXJAdGVzdC5jb20iLCJzc29fdXNlcl9pZCI6IjIxIn0.VPPeTzeqMcic5LfIWpX8nQfQ7rluqFYzVT9yS__0VNI"
            config.headers['tenant_code'] = "5e1de13fa1e74ed89a74fcfa4fd927f1"
        }
        return config;    
    },    
    error => {        
        return Promise.error(error);    
    })

// 响应拦截器
// axios.interceptors.response.use( 
//     response => {        
//         if (response.status === 200) {            
//             return Promise.resolve(response);        
//         } else {            
//             return Promise.reject(response);        
//         }    
//     },
//     // 服务器状态码不是200的情况    
//     error => {        
//         if (error.response.status) {            
//             switch (error.response.status) {                
//                 // 401: 未登录                
//                 // 未登录则跳转登录页面，并携带当前页面的路径                
//                 // 在登录成功后返回当前页面，这一步需要在登录页操作。                
//                 case 401:                    
//                     router.replace({                        
//                         path: '/login',                        
//                         query: { redirect: router.currentRoute.fullPath } 
//                     });
//                     break;
//                 // 403 token过期                
//                 // 登录过期对用户进行提示                
//                 // 清除本地token和清空vuex中token对象                
//                 // 跳转登录页面                
//                 case 403:                     
//                     Toast({                        
//                         message: '登录过期，请重新登录',                        
//                         duration: 1000,                        
//                         forbidClick: true                    
//                     });                    
//                     // 清除token                    
//                     localStorage.removeItem('token');                    
//                     store.commit('loginSuccess', null);                    
//                     // 跳转登录页面，并将要浏览的页面fullPath传过去，登录成功后跳转需要访问的页面
//                     setTimeout(() => {                        
//                         router.replace({                            
//                             path: '/login',                            
//                             query: { 
//                                 redirect: router.currentRoute.fullPath 
//                             }                        
//                         });                    
//                     }, 1000);                    
//                     break; 
//                 // 404请求不存在                
//                 case 404:                    
//                     Toast({                        
//                         message: '网络请求不存在',                        
//                         duration: 1500,                        
//                         forbidClick: true                    
//                     });                    
//                 break;                
//                 // 其他错误，直接抛出错误提示                
//                 default:                    
//                     Toast({                        
//                         message: error.response.data.message,                        
//                         duration: 1500,                        
//                         forbidClick: true                    
//                     });            
//             }            
//             return Promise.reject(error.response);        
//         }       
//     }
// );

export default {
    //最新政策接口
    getLatestPolicy(num = 8){
        return axios.post(`${URL}/cloud/cloudportal-integration/v1/latestPolicy/getLatestPolicy/${num}?requestType=service`)
    },
    //智库热榜接口
    getHotList(num = 8){
        return axios.get(`${URL}/cloud/cloudportal-integration/v1/hotList/getHotList/${num}`)
    },
    //知识图谱接口
    getGraphList(){
        return axios.get(`${GRAPH_URL}/api/kipf/service/business/knowledgeunit/visual/list`)
    },
    //搜索格子接口
    getQuery(tenant_code = "d840ef7567774710bad993ae4eef0f60"){
        return axios.get(`${URL}/cloud/cloudportal-portalcms/v1/hpStatistics/query/${tenant_code}`)
    },
    //词云接口
    getWordCloud(){
        return axios.post(`${URL}/cloud/cloudportal-integration/v1/wordCloud/getWordCloud`)
    },
    //最新api
    getLatestApi(){
        return axios.get(`${URL}/cloud/cloudportal-api-market/v1/comment/getLatestApi`)
    },
    //热门api
    getHotApi(){
        return axios.get(`${URL}/cloud/cloudportal-api-market/v1/comment/getAvgTop10`)
    },
    //最新应用
    getLatestApp(){
        return axios.get(`${URL}/cloud/cloudportal-appmarket/v1/app/getLatestApp`)
    },
    //热门应用
    getHotApp(){
        return axios.get(`${URL}/cloud/cloudportal-appmarket/v1/app/getAvgTop10`)
    },
    //菜单目录
    getMenuList(){
        const params = {
            moduleId: "1380079297980919809",
            subjectId: "1380079031063801858",
            tenantType: "1",
            tenantId: "d840ef7567774710bad993ae4eef0f60"
        }
        return axios.get(`${URL}/cloud/cloudportal-portalcms/v1/cmsTopMenu/queryByAllConfig`,{params})
    }
}